/*
 * CMenuState.h
 *
 *  Created on: 12.2.2009
 *      Author: jari.ravantti
 */

#ifndef CMENUSTATE_H_
#define CMENUSTATE_H_
#include "basecode/CStateBase.h"
#include "gamestate/CGameState.h"


class CMenuState: public CStateBase {
public:
	void Init();
	void Cleanup();

	void Pause();
	void Resume();

	void HandleEvents(CStateManager* main);
	void Update(CStateManager* main);
	void Draw(CStateManager* main);

	void resize(int x, int y);

	static CMenuState* Instance() {
		return &m_CMenuState;
	}

protected:
	CMenuState() {
	}
	virtual ~CMenuState() {
	}

	unsigned int m_Keys[SDLK_LAST];

private:
	static CMenuState m_CMenuState;

	float m_RotationAngle;
	struct Vertex
			{
				float x, y, z;

				Vertex(float x, float y, float z)
				{
					this->x = x;
					this->y = y;
					this->z = z;
				}
			};

			std::vector<Vertex> m_Vertices; //We have a vector of vertices, each vertex with its 3 coordinates
			std::vector<Vertex> m_Colors; //also 3 floats for colors, so we just use the Vertex-struct

};
#endif /* CMENUSTATE_H_ */
